import $H from '@/common/banmi/request.js';
export default {


	//QQ小程序微信支付
	qq_weixin_pay(data) {


		return new Promise((res_pay, rej) => {

			qq.requestWxPayment({
				url: data.mweb_url,
				referer: data.home_url,
				success(res) {
					//支付成功
					uni.showToast({
						title: '付款成功',
						icon: 'none'
					})
					res_pay(200);
					return
				},
				fail(res) {
					uni.showModal({
						title: '支付失败',
						content: JSON.stringify(res),
						success: function(res) {

						}
					});

				}
			})
		});
	},

	// #ifdef MP-WEIXIN
	//微信小程序支付
	mp_weixin_pay(order) {
		return new Promise((res_pay, rej) => {
			uni.requestPayment({
				nonceStr: order.nonceStr,
				package: order.package,
				paySign: order.paySign,
				timeStamp: order.timeStamp,
				signType: 'MD5',
				success(res) {
					//支付成功 
					uni.showToast({
						title: '付款成功',
						icon: 'none'
					})
					res_pay(200);
					return
				},
				fail: function(err) {
					uni.showToast({
						title: '支付失败',
						icon: 'none'
					})
					res_pay(0);
					return;
				}
			})
		});
	},
	// #endif
	// #ifdef H5
	//微信公众号支付
	h5_mp_weixin_pay(order) {
		return new Promise((res_pay, rej) => {
			wxJS.config({
				// 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
				debug: false,
				// 必填，公众号的唯一标识
				appId: order.appId,
				// 必填，生成签名的时间戳
				timestamp: order.timeStamp,
				// 必填，生成签名的随机串
				nonceStr: order.nonceStr,
				// 必填，签名
				signature: '',
				// 必填，需要使用的JS接口列表
				jsApiList: []
			});
			wxJS.chooseWXPay({
				timestamp: order.timeStamp,
				nonceStr: order.nonceStr,
				package: order.package,
				signType: order.signType,
				paySign: order.paySign,
				success: (res) => {
					console.log("res: " + JSON.stringify(res));
					if (res.errMsg === 'chooseWXPay:ok') {
						//支付成功
						uni.showToast({
							title: '付款成功',
							icon: 'none'
						})
						res_pay(200);

						return

					} else {
						uni.showToast({
							title: '支付失败',
							icon: 'none'
						})
						res_pay(0);
						return;

					}
				},
				fail: (e) => {
					uni.showToast({
						title: '支付失败',
						icon: 'none'
					})
					res_pay(0);
					return;
				}
			});
		});
	},
	// #endif
	// #ifdef MP-ALIPAY
	//支付宝小程序支付
	mp_alipay_pay(data) {
		console.log("data: " + JSON.stringify(data));
		return new Promise((res_pay, rej) => {
			uni.requestPayment({
				provider: 'alipay',
				"orderInfo": data,
				success: e => {

					if (e.resultCode == 9000) {
						uni.hideLoading()
						uni.showToast({
							title: '付款成功',
							icon: 'success'
						})
						res_pay(200);
					}

					return
				},
				fail: err => {
					res_pay(0);
					if (err.errMsg.indexOf('取消') > -1 || err.errMsg.indexOf('cancel') > 1 || err
						.errMsg.indexOf('-2') > -1) {
						console.log('取消支付');
					} else {
						console.log('支付遇到错误，请稍候重试');
						console.log(err);
					}
				}
			})




		});




	},
	// #endif
	// #ifdef MP-TOUTIAO
	//抖音小程序支付
	mp_toutiao_douyin_pay(data) {



		return new Promise((res_pay, rej) => {
			uni.requestPayment({
				provider: 'MP-TOUTIAO',
				orderInfo: data,
				service: 5,
				success: (res) => {
					let code = res.code
					if (code == 0) {
						uni.hideLoading()
						uni.showToast({
							title: '付款成功',
							icon: 'success'
						})
						res_pay(200);
						return
					} else {
						res_pay(0);
					}
				},
				fail: (err) => {
					console.log("err: " + JSON.stringify(err));
					uni.hideLoading();
				},
			});

		});
	},
	// #endif
	// #ifdef APP
	//app支付宝支付
	app_alipay_pay(data) {
		return new Promise((res_pay, rej) => {
			uni.requestPayment({
				provider: 'alipay',
				"orderInfo": data,
				success: e => {
					uni.hideLoading()
					uni.showToast({
						title: '付款成功',
						icon: 'success'
					})
					res_pay(200);
					return
				},
				fail: err => {
					res_pay(0);
					if (err.errMsg.indexOf('取消') > -1 || err.errMsg.indexOf('cancel') > 1 || err
						.errMsg.indexOf('-2') > -1) {
						console.log('取消支付');
					} else {
						console.log('支付遇到错误，请稍候重试');
						console.log(err);
					}
				}
			})
		});
	},




	//app微信支付
	app_wx_pay(data) {
		return new Promise((res_pay, rej) => {
			uni.requestPayment({
				"provider": "wxpay",
				"orderInfo": data,
				success(res) {
					//支付成功
					uni.hideLoading()
					uni.showToast({
						title: '付款成功',
						icon: 'success'
					})
					res_pay(200);
					return
				},
				fail(e) {
					uni.hideLoading()
					uni.showToast({
						title: '支付失败',
						icon: 'error'
					})
					res_pay(0);
					return;
				}
			})
		});
	},
	// #endif
}